package com.zy.system.service;

import com.zy.system.domain.SysUserOnline;

import java.util.Date;
import java.util.List;

/**
 * 在线用户记录 服务层
 * 
 * @author zy
 * @date 2018-12-19
 */
public interface ISysUserOnlineService 
{
	
	/**
     * 查询在线用户记录列表
     * 
     * @param sysUserOnline 在线用户记录信息
     * @return 在线用户记录集合
     */
	 List<SysUserOnline> selectSysUserOnlineList(SysUserOnline sysUserOnline);
	
	/**
     * 新增在线用户记录
     * 
     * @param sysUserOnline 在线用户记录信息
     * @return 结果
     */
	 int insertSysUserOnline(SysUserOnline sysUserOnline);
	
	/**
     * 修改在线用户记录
     * 
     * @param sysUserOnline 在线用户记录信息
     * @return 结果
     */
	 int updateSysUserOnline(SysUserOnline sysUserOnline);
		
	/**
     * 删除在线用户记录信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	 int deleteSysUserOnlineByIds(String ids);

	/**
	 * 通过会话序号查询信息
	 *
	 * @param sessionId 会话ID
	 * @return 在线用户信息
	 */
	SysUserOnline selectOnlineById(String sessionId);

	/**
	 * 通过会话序号删除信息
	 *
	 * @param sessionId 会话ID
	 * @return 在线用户信息
	 */
	void deleteOnlineById(String sessionId);

	/**
	 * 查询会话集合
	 *
	 * @param expiredDate 有效期
	 * @return 会话集合
	 */
	List<SysUserOnline> selectOnlineByExpired(Date expiredDate);

	/**
	 * 通过会话序号删除信息
	 *
	 * @param sessions 会话ID集合
	 * @return 在线用户信息
	 */
	void batchDeleteOnline(List<String> sessions);
}
